package org.example.spring_book.mapper;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.example.spring_book.model.BookInfo;
import org.example.spring_book.model.PageRequest;

import java.util.List;

@Mapper
public interface BookMapper {
    //添加图书
    @Insert("insert into book_info (book_name, author, count, price, publish, `status`)" +
            "values (#{bookName}, #{author}, #{count}, #{price}, #{publish}, #{status})")
    Integer insertBook(BookInfo bookInfo);

    //总记录数
    @Select("select count(1) from book_info where status != 0")
    Integer count();

    //当前页的记录
    @Select("select * from book_info where status != 0 order by id limit #{offset}, #{pageSize}")
    List<BookInfo> queryBookByPage(PageRequest pageRequest);


    @Select("select * from book_info where id = #{bookId}")
    BookInfo queryBookById(Integer bookId);

    Integer updateBook(BookInfo bookInfo);

    void batchUpdate(List<Integer> ida);

}
